The proliferation of mobile devices with touch screens has led to new and exciting opportunities in application development. The combination of touch input, specifics of mobile device hardware, and user experience considerations has inspired many ideas for practical mobile applications that are easy to use.
But the limitations of mobile device hardware (e.g., limited computing power) have created challenges to implementing these ideas. Examples of such challenges include lag in the user interfaces of these applications, such as delays between user inputs and graphical outputs in response to the user inputs, and unsmooth animations.